#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
#include <limits.h>
#include <ctype.h>

int
main(int argc, char **argv)
{
	static int vert_val[100];
	int i, n;
	int sum, n_nonleaf;

	scanf("%d", &n);
	for (i = 0; i < n; i++) {
		scanf("%d", &vert_val[i]);
		if (vert_val[i])
			n_nonleaf++;
		if (vert_val[i] >= n) {
			puts("NO");
			return 0;
		}
	}

	for (sum = i = 0; i < n; i++) {
		sum += vert_val[i];
	}

	if (sum & 1 || (sum>>1) > n) {
		puts("NO");
	} else {
		puts("YES");
	}

	return 0;
}
